import axios from 'axios';

const DEMO_UPLOAD_API = 'http://127.0.0.1:3000/users/upload';

// 实际业务中需要自己实现对应上传逻辑
export const upload = (file) => {
  return new Promise((resolve, reject) => {
    // 创建 FormData 对象
    const formData = new FormData();
    formData.append('file', file);

    // 使用 Axios 发送 POST 请求
    axios.post(DEMO_UPLOAD_API, formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
    .then(response => {
      // 请求成功，解析 JSON 响应
      console.log(response);
      
      resolve(response.data.path);
    })
    .catch(error => {
      // 请求失败，处理错误
      if (error.response) {
        // 服务器返回了错误状态码
        reject(new Error('Upload failed with status: ' + error.response.status));
      } else if (error.request) {
        // 请求已发出，但没有收到响应
        reject(new Error('No response received'));
      } else {
        // 发送请求时出了点问题
        reject(error.message);
      }
    });
  });
};
